Computing device readable media, such as floating gate memory, Phase Change Memory (PCM), SSD based on floating gate memory or PCM, and the like, utilize error correction algorithms to detect and correct errors that occur during operation. Errors can be caused by a number of sources, such as random noise, cell-to-cell interference, read or write disturb, programming error, retention errors, charge leakage and trapping generation. As memory devices continue to be scaled and/or the number of bits stored per cell increases, the error rate tends to increase. Accordingly, there is a continuing need for improved error correction algorithms for use with memory devices.